Page({

  /**
   * 页面的初始数据
   */
  data: {
    paddingTap: 30,
    height: 30, //搜索框的高，为了和胶囊的高保持一致
    bannerList: [],
    grids: [],
    ranks: [],
    advList: [],
    recommandList: []

  },
  //宫格跳转
  toSkip(e) {
    //注意冒泡问题：currenTarget->对应事件绑定的目标 target-》点击目标
    const {
      address: url,
      isTab
    } = e.currentTarget.dataset.item
    url && isTab ? wx.switchTab({
      url
    }) : wx.navigateTo({
      url
    })
  },
  //跳转详情页
  toDetails(e) {
    //解决方案一：后台设计有 两个表 ：产品表+详情表
    //产品表（列表相关信息）+详情表（其他产品信息）
    //跳转详情页：产品表+详情表=详情页需要的数据
    //detailsID  detailsID->云函数（分开查询-》返回数据
    //优化处理：
    //只需要拿到产品id 获取到所有数据只查询一次，可以-》云函数（多表联查
    // 获取产品详情页id
    console.log(e)
    //方案一
    // const {
    //   detialsid: detialsId,
    //   proid: proId
    // } = e.target.dataset
    // console.log(detialsId, proId)
    // wx.navigateTo({
    //   url: `/pages/details/index?detialsId=${detialsId}&proId=${proId}`,
    // })
    //方案二优化处理
    const {
      proid: proId
    } = e.currentTarget.dataset
    // console.log(proId)
    wx.navigateTo({
      url: `/pages/details/index?proId=${proId}`,
    })
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    this.setSearchPos()
    this.initData()
  },
  //2.请求页面初始数据
  async initData() {
    //轮播图数据请求
    //请求数据的第一种方式 在小程序端请求
    //1.获取数据库引用
    //   const db =wx.cloud.database()
    // //   //2.获取banner集合的引用
    //   const banner = db.collection('banner')
    //   console.log(banner)
    // //   //3.获取数据
    //  const res = await banner.where({isShow:true}).get()
    // console.log(res)
    //   // //4.更新数据到视图
    //   this.setData({
    //     bannerList:res.data
    //   })
    //请求数据的第二种方式 在云端-云函数   ----权限更大
    //1.在外层cloudfunctions中选中环境
    //2.在文件中新建Node.js函数 “起一个名字”---》生成三个文件
    //3.在云函数（index.js）：exports.main = async (event, context) =>{主要code}
    //4.记得部署
    //5.调用
    wx.showLoading({
      title: '加载中',
    })
    const res = await wx.cloud.callFunction({
      name: "home"
    })
    console.log(res)
    this.setData({
      bannerList: res.result.banner,
      grids: res.result.grids,
      ranks: res.result.ranks,
      advList: res.result.advs,
      recommandList: res.result.recommands
    })
    wx.hideLoading()
  },

  // 1.处理search的位置
  setSearchPos() {
    const {
      top,
      height
    } = wx.getMenuButtonBoundingClientRect()
    //更新data数据
    this.setData({
      paddingTap: top,
      height
    })
  },

  toSearch() {
    //跳转到搜索页面
    wx.navigateTo({
      url: '/pages/search/index',
    })
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})